﻿using System;
using System.Collections.Generic;
using System.ComponentModel;

namespace Logistics
{
    public class BillDataInfo : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;
        public void RaisePropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        private String _StartSiteName;
        public String StartSiteName
        {
            get { return _StartSiteName; }
            set
            {
                if (_StartSiteName != value)
                {
                    _StartSiteName = value;
                    RaisePropertyChanged("StartSiteName");
                }
            }
        }
        private String _StartSiteId;
        public String StartSiteId
        {
            get { return _StartSiteId; }
            set
            {
                if (_StartSiteId != value)
                {
                    _StartSiteId = value;
                    RaisePropertyChanged("StartSiteId");
                }
            }
        }

        private String _StartOutletId;
        public String StartOutletId
        {
            get { return _StartOutletId; }
            set
            {
                if (_StartOutletId != value)
                {
                    _StartOutletId = value;
                    RaisePropertyChanged("StartOutletId");
                }
            }
        }

        private IDictionary<String, String> _StartOutletList;
        public IDictionary<String, String> StartOutletList
        {
            get { return _StartOutletList; }
            set
            {
                if (_StartOutletList != value)
                {
                    _StartOutletList = value;
                    RaisePropertyChanged("StartOutletList");
                }
            }
        }

        private String _ReceivingClerk;
        /// <summary>
        /// 收货员
        /// </summary>
        public String ReceivingClerk
        {
            get { return _ReceivingClerk; }
            set
            {
                if (_ReceivingClerk != value)
                {
                    _ReceivingClerk = value;
                    RaisePropertyChanged("ReceivingClerk");
                }
            }
        }
        private IDictionary<String, String> _ReceivingClerkList;
        public IDictionary<String, String> ReceivingClerkList
        {
            get { return _ReceivingClerkList; }
            set
            {
                if (_ReceivingClerkList != value)
                {
                    _ReceivingClerkList = value;
                    RaisePropertyChanged("ReceivingClerkList");
                }
            }
        }

        private bool _DeliveryService;
        /// <summary>
        /// true-送货/false-自提
        /// </summary>
        public bool DeliveryService
        {
            get { return _DeliveryService; }
            set
            {
                if (_DeliveryService != value)
                {
                    _DeliveryService = value;
                    RaisePropertyChanged("DeliveryService");
                }
            }
        }

        private String _PayType;
        public String PayType
        {
            get { return _PayType; }
            set
            {
                if (_PayType != value)
                {
                    _PayType = value;
                    RaisePropertyChanged("PayType");
                }
            }
        }
        private IDictionary<String, String> _PayTypeList;
        public IDictionary<String, String> PayTypeList
        {
            get { return _PayTypeList; }
            set
            {
                if (_PayTypeList != value)
                {
                    _PayTypeList = value;
                    RaisePropertyChanged("PayTypeList");
                }
            }
        }

        private DateTime _CreateDate;
        public DateTime CreateDate
        {
            get { return _CreateDate; }
            set
            {
                if (_CreateDate != value)
                {
                    _CreateDate = value;
                    RaisePropertyChanged("CreateDate");
                }
            }
        }

        private String _SenderPhone;
        public String SenderPhone
        {
            get { return _SenderPhone; }
            set
            {
                if (_SenderPhone != value)
                {
                    _SenderPhone = value;
                    RaisePropertyChanged("SenderPhone");
                }
            }
        }
        private String _SenderCellPhone;
        public String SenderCellPhone
        {
            get { return _SenderCellPhone; }
            set
            {
                if (_SenderCellPhone != value)
                {
                    _SenderCellPhone = value;
                    RaisePropertyChanged("SenderCellPhone");
                }
            }
        }
        private String _SenderName;
        public String SenderName
        {
            get { return _SenderName; }
            set
            {
                if (_SenderName != value)
                {
                    _SenderName = value;
                    RaisePropertyChanged("SenderName");
                }
            }
        }
        private String _SenderAddress;
        public String SenderAddress
        {
            get { return _SenderAddress; }
            set
            {
                if (_SenderAddress != value)
                {
                    _SenderAddress = value;
                    RaisePropertyChanged("SenderAddress");
                }
            }
        }

        private String _SenderCode;
        public String SenderCode
        {
            get { return _SenderCode; }
            set
            {
                if (_SenderCode != value)
                {
                    _SenderCode = value;
                    RaisePropertyChanged("SenderCode");
                }
            }
        }

        private DateTime _SendDate;
        public DateTime SendDate
        {
            get { return _SendDate; }
            set
            {
                if (_SendDate != value)
                {
                    _SendDate = value;
                    RaisePropertyChanged("SendDate");
                }
            }
        }

        private String _ReceiverPhone;
        public String ReceiverPhone
        {
            get { return _ReceiverPhone; }
            set
            {
                if (_ReceiverPhone != value)
                {
                    _ReceiverPhone = value;
                    RaisePropertyChanged("ReceiverPhone");
                }
            }
        }

        private String _ReceiverCellPhone;
        public String ReceiverCellPhone
        {
            get { return _ReceiverCellPhone; }
            set
            {
                if (_ReceiverCellPhone != value)
                {
                    _ReceiverCellPhone = value;
                    RaisePropertyChanged("ReceiverCellPhone");
                }
            }
        }
        private String _ReceiverCode;
        public String ReceiverCode
        {
            get { return _ReceiverCode; }
            set
            {
                if (_ReceiverCode != value)
                {
                    _ReceiverCode = value;
                    RaisePropertyChanged("ReceiverCode");
                }
            }
        }
        private String _ReceiverName;
        public String ReceiverName
        {
            get { return _ReceiverName; }
            set
            {
                if (_ReceiverName != value)
                {
                    _ReceiverName = value;
                    RaisePropertyChanged("ReceiverName");
                }
            }
        }
        private String _ReceiverAddress;
        public String ReceiverAddress
        {
            get { return _ReceiverAddress; }
            set
            {
                if (_ReceiverAddress != value)
                {
                    _ReceiverAddress = value;
                    RaisePropertyChanged("ReceiverAddress");
                }
            }
        }

        private String _DesSiteId;
        public String DesSiteId
        {
            get { return _DesSiteId; }
            set
            {
                if (_DesSiteId != value)
                {
                    _DesSiteId = value;
                    RaisePropertyChanged("DesSiteId");
                }
            }
        }
        private IDictionary<String, String> _DesSiteList;
        public IDictionary<String, String> DesSiteList
        {
            get { return _DesSiteList; }
            set
            {
                if (_DesSiteList != value)
                {
                    _DesSiteList = value;
                    RaisePropertyChanged("DesSiteList");
                }
            }
        }

        private String _DesOutletId;
        public String DesOutletId
        {
            get { return _DesOutletId; }
            set
            {
                if (_DesOutletId != value)
                {
                    _DesOutletId = value;
                    RaisePropertyChanged("DesOutletId");
                }
            }
        }
        private IDictionary<String, String> _DesOutletList;
        public IDictionary<String, String> DesOutletList
        {
            get { return _DesOutletList; }
            set
            {
                if (_DesOutletList != value)
                {
                    _DesOutletList = value;
                    RaisePropertyChanged("DesOutletList");
                }
            }
        }

        private String _BillCode;
        public String BillCode
        {
            get { return _BillCode; }
            set
            {
                if (_BillCode != value)
                {
                    _BillCode = value;
                    RaisePropertyChanged("BillCode");
                }
            }
        }

        private String _BillGoodsName;
        public String BillGoodsName
        {
            get { return _BillGoodsName; }
            set
            {
                if (_BillGoodsName != value)
                {
                    _BillGoodsName = value;
                    RaisePropertyChanged("BillGoodsName");
                }
            }
        }

        private String _BillGoodsCode;
        public String BillGoodsCode
        {
            get { return _BillGoodsCode; }
            set
            {
                if (_BillGoodsCode != value)
                {
                    _BillGoodsCode = value;
                    RaisePropertyChanged("BillGoodsCode");
                }
            }
        }

        private String _BillPackageType;
        public String BillPackageType
        {
            get { return _BillPackageType; }
            set
            {
                if (_BillPackageType != value)
                {
                    _BillPackageType = value;
                    RaisePropertyChanged("BillPackageType");
                }
            }
        }
        private int _BillGoodsCount;
        public int BillGoodsCount
        {
            get { return _BillGoodsCount; }
            set
            {
                if (_BillGoodsCount != value)
                {
                    _BillGoodsCount = value;
                    RaisePropertyChanged("BillGoodsCount");
                }
            }
        }

        private int _BillTagCount;
        public int BillTagCount
        {
            get { return _BillTagCount; }
            set
            {
                if (_BillTagCount != value)
                {
                    _BillTagCount = value;
                    RaisePropertyChanged("BillTagCount");
                }
            }
        }

        private int _BillGoodsWeight;
        public int BillGoodsWeight
        {
            get { return _BillGoodsWeight; }
            set
            {
                if (_BillGoodsWeight != value)
                {
                    _BillGoodsWeight = value;
                    RaisePropertyChanged("BillGoodsWeight");
                }
            }
        }

        private int _BillGoodsLength;
        public int BillGoodsLength
        {
            get { return _BillGoodsLength; }
            set
            {
                if (_BillGoodsLength != value)
                {
                    _BillGoodsLength = value;
                    RaisePropertyChanged("BillGoodsLength");
                }
            }
        }

        private int _BillGoodsWidth;
        public int BillGoodsWidth
        {
            get { return _BillGoodsWidth; }
            set
            {
                if (_BillGoodsWidth != value)
                {
                    _BillGoodsWidth = value;
                    RaisePropertyChanged("BillGoodsWidth");
                }
            }
        }

        private int _BillGoodsHeight;
        public int BillGoodsHeight
        {
            get { return _BillGoodsHeight; }
            set
            {
                if (_BillGoodsHeight != value)
                {
                    _BillGoodsHeight = value;
                    RaisePropertyChanged("BillGoodsHeight");
                }
            }
        }

        private int _BillGoodsVolume;
        public int BillGoodsVolume
        {
            get { return _BillGoodsVolume; }
            set
            {
                if (_BillGoodsVolume != value)
                {
                    _BillGoodsVolume = value;
                    RaisePropertyChanged("BillGoodsVolume");
                }
            }
        }

        private int _BillFreightFee;
        public int BillFreightFee
        {
            get { return _BillFreightFee; }
            set
            {
                if (_BillFreightFee != value)
                {
                    _BillFreightFee = value;
                    RaisePropertyChanged("BillFreightFee");
                }
            }
        }

        private int _BillFeeSRC;
        /// <summary>
        /// 源站点收取费用
        /// </summary>
        public int BillFeeSRC
        {
            get { return _BillFeeSRC; }
            set
            {
                if (_BillFeeSRC != value)
                {
                    _BillFeeSRC = value;
                    RaisePropertyChanged("BillFeeSRC");
                }
            }
        }
        private int _BillFeeDES;
        /// <summary>
        /// 目的站点收取费用
        /// </summary>
        public int BillFeeDES
        {
            get { return _BillFeeDES; }
            set
            {
                if (_BillFeeDES != value)
                {
                    _BillFeeDES = value;
                    RaisePropertyChanged("BillFeeDES");
                }
            }
        }

        private int _VAAgencyFund;
        /// <summary>
        /// 代收费
        /// </summary>
        public int VAAgencyFund
        {
            get { return _VAAgencyFund; }
            set
            {
                if (_VAAgencyFund != value)
                {
                    _VAAgencyFund = value;
                    RaisePropertyChanged("VAAgencyFund");
                }
            }
        }

        private int _VAAgencyFundHandlingCharge;
        /// <summary>
        /// 代收费手续费
        /// </summary>
        public int VAAgencyFundHandlingCharge
        {
            get { return _VAAgencyFundHandlingCharge; }
            set
            {
                if (_VAAgencyFundHandlingCharge != value)
                {
                    _VAAgencyFundHandlingCharge = value;
                    RaisePropertyChanged("VAAgencyFundHandlingCharge");
                }
            }
        }

        private String _VABank;
        public String VABank
        {
            get { return _VABank; }
            set
            {
                if (_VABank != value)
                {
                    _VABank = value;
                    RaisePropertyChanged("VABank");
                }
            }
        }

        private IDictionary<String,String> _VABankList;
        public IDictionary<String, String> VABankList
        {
            get { return _VABankList; }
            set
            {
                if (_VABankList != value)
                {
                    _VABankList = value;
                    RaisePropertyChanged("VABankList");
                }
            }
        }
        private String _VABankAccount;
        /// <summary>
        /// 银行账号
        /// </summary>
        public String VABankAccount
        {
            get { return _VABankAccount; }
            set
            {
                if (_VABankAccount != value)
                {
                    _VABankAccount = value;
                    RaisePropertyChanged("VABankAccount");
                }
            }
        }

        private int _VAClaimedValue;
        public int VAClaimedValue
        {
            get { return _VAClaimedValue; }
            set
            {
                if (_VAClaimedValue != value)
                {
                    _VAClaimedValue = value;
                    RaisePropertyChanged("VAClaimedValue");
                }
            }
        }

        private int _VAInsuranceFee;
        public int VAInsuranceFee
        {
            get { return _VAInsuranceFee; }
            set
            {
                if (_VAInsuranceFee != value)
                {
                    _VAInsuranceFee = value;
                    RaisePropertyChanged("VAInsuranceFee");
                }
            }
        }

        private String _VAInsuranceFeeWindow;
        public String VAInsuranceFeeWindow
        {
            get { return _VAInsuranceFeeWindow; }
            set
            {
                if (_VAInsuranceFeeWindow != value)
                {
                    _VAInsuranceFeeWindow = value;
                    RaisePropertyChanged("VAInsuranceFeeWindow");
                }
            }
        }

        //private int _VAReceiptFee;
        //public int VAReceiptFee
        //{
        //    get { return _VAReceiptFee; }
        //    set
        //    {
        //        if (_VAReceiptFee != value)
        //        {
        //            _VAReceiptFee = value;
        //            RaisePropertyChanged("VAReceiptFee");
        //        }
        //    }
        //}

        private bool _VAReceiptTypeReceipt;
        public bool VAReceiptTypeReceipt
        {
            get { return _VAReceiptTypeReceipt; }
            set
            {
                if (_VAReceiptTypeReceipt != value)
                {
                    _VAReceiptTypeReceipt = value;
                    RaisePropertyChanged("VAReceiptTypeReceipt");
                }
            }
        }

        private bool _VAReceiptTypeStamp;
        public bool VAReceiptTypeStamp
        {
            get { return _VAReceiptTypeStamp; }
            set
            {
                if (_VAReceiptTypeStamp != value)
                {
                    _VAReceiptTypeStamp = value;
                    RaisePropertyChanged("VAReceiptTypeStamp");
                }
            }
        }

        private bool _VAReceiptTypeIDNum;
        public bool VAReceiptTypeIDNum
        {
            get { return _VAReceiptTypeIDNum; }
            set
            {
                if (_VAReceiptTypeIDNum != value)
                {
                    _VAReceiptTypeIDNum = value;
                    RaisePropertyChanged("VAReceiptTypeIDNum");
                }
            }
        }

        private int _VADeliveryFee;
        /// <summary>
        /// 送货费
        /// </summary>
        public int VADeliveryFee
        {
            get { return _VADeliveryFee; }
            set
            {
                if (_VADeliveryFee != value)
                {
                    _VADeliveryFee = value;
                    RaisePropertyChanged("VADeliveryFee");
                }
            }
        }

        private String _VADeliveryFeeWindow;
        public String VADeliveryFeeWindow
        {
            get { return _VADeliveryFeeWindow; }
            set
            {
                if (_VADeliveryFeeWindow != value)
                {
                    _VADeliveryFeeWindow = value;
                    RaisePropertyChanged("VADeliveryFeeWindow");
                }
            }
        }
        private bool _VANoticeDelivery;
        public bool VANoticeDelivery
        {
            get { return _VANoticeDelivery; }
            set
            {
                if (_VANoticeDelivery != value)
                {
                    _VANoticeDelivery = value;
                    RaisePropertyChanged("VANoticeDelivery");
                }
            }
        }
        

        private int _VANoticDeliveryFee;
        /// <summary>
        /// 通知派送费
        /// </summary>
        public int VANoticDeliveryFee
        {
            get { return _VANoticDeliveryFee; }
            set
            {
                if (_VANoticDeliveryFee != value)
                {
                    _VANoticDeliveryFee = value;
                    RaisePropertyChanged("VANoticDeliveryFee");
                }
            }
        }

        private int _VAForwardFee;
        /// <summary>
        /// 转寄费
        /// </summary>
        public int VAForwardFee
        {
            get { return _VAForwardFee; }
            set
            {
                if (_VAForwardFee != value)
                {
                    _VAForwardFee = value;
                    RaisePropertyChanged("VAForwardFee");
                }
            }
        }

        private IDictionary<String,String> _VAForwardAddrList;
        public IDictionary<String, String> VAForwardAddrList
        {
            get { return _VAForwardAddrList; }
            set
            {
                if (_VAForwardAddrList != value)
                {
                    _VAForwardAddrList = value;
                    RaisePropertyChanged("VAForwardAddrList");
                }
            }
        }
        private String _VAForwardAddr;
        public String VAForwardAddr
        {
            get { return _VAForwardAddr; }
            set
            {
                if (_VAForwardAddr != value)
                {
                    _VAForwardAddr = value;
                    RaisePropertyChanged("VAForwardAddr");
                }
            }
        }

        private String _VACollaborativeLogistics;
        public String VACollaborativeLogistics
        {
            get { return _VACollaborativeLogistics; }
            set
            {
                if (_VACollaborativeLogistics != value)
                {
                    _VACollaborativeLogistics = value;
                    RaisePropertyChanged("VACollaborativeLogistics");
                }
            }
        }

        private int _VAAdvance;
        /// <summary>
        /// 垫付费
        /// </summary>
        public int VAAdvance
        {
            get { return _VAAdvance; }
            set
            {
                if (_VAAdvance != value)
                {
                    _VAAdvance = value;
                    RaisePropertyChanged("VAAdvance");
                }
            }
        }

        private int _VAPrepay;
        /// <summary>
        /// 预付费
        /// </summary>
        public int VAPrepay
        {
            get { return _VAPrepay; }
            set
            {
                if (_VAPrepay != value)
                {
                    _VAPrepay = value;
                    RaisePropertyChanged("VAPrepay");
                }
            }
        }

        private String _BillComment;
        public String BillComment
        {
            get { return _BillComment; }
            set
            {
                if (_BillComment != value)
                {
                    _BillComment = value;
                    RaisePropertyChanged("BillComment");
                }
            }
        }

        private IDictionary<String,String> _PaymentWindowList;
        public IDictionary<String, String> PaymentWindowList
        {
            get { return _PaymentWindowList; }
            set
            {
                if (_PaymentWindowList != value)
                {
                    _PaymentWindowList = value;
                    RaisePropertyChanged("PaymentWindowList");
                }
            }
        }

        private bool _BillCommDamageNoPay;
        /// <summary>
        /// 损坏不赔
        /// </summary>
        public bool BillCommDamageNoPay
        {
            get { return _BillCommDamageNoPay; }
            set
            {
                if (_BillCommDamageNoPay != value)
                {
                    _BillCommDamageNoPay = value;
                    RaisePropertyChanged("BillCommDamageNoPay");
                }
            }
        }
        private bool _BillCommDeteriorateNoPay;
        /// <summary>
        /// 变质不赔
        /// </summary>
        public bool BillCommDeteriorateNoPay
        {
            get { return _BillCommDeteriorateNoPay; }
            set
            {
                if (_BillCommDeteriorateNoPay != value)
                {
                    _BillCommDeteriorateNoPay = value;
                    RaisePropertyChanged("BillCommDeteriorateNoPay");
                }
            }
        }
        private bool _BillCommAttachReceipts;
        /// <summary>
        /// 附单
        /// </summary>
        public bool BillCommAttachReceipts
        {
            get { return _BillCommAttachReceipts; }
            set
            {
                if (_BillCommAttachReceipts != value)
                {
                    _BillCommAttachReceipts = value;
                    RaisePropertyChanged("BillCommAttachReceipts");
                }
            }
        }

        private bool _BillCommWaitFax;
        /// <summary>
        /// 等传真发货
        /// </summary>
        public bool BillCommWaitFax
        {
            get { return _BillCommWaitFax; }
            set
            {
                if (_BillCommWaitFax != value)
                {
                    _BillCommWaitFax = value;
                    RaisePropertyChanged("BillCommWaitFax");
                }
            }
        }

       
    }
}
